﻿#pragma once

// 格
#define GRID_SIZE 26                                            // 尺寸

// 方块
#define BLOCK_GRID_COUNT_H 4                                    // 一个方向由
#define BLOCK_GRID_COUNT_V 4                                    // 4*4 的格组成

// 游戏区域
#define GAME_BOARD_X 20                                         // 左上角 X 坐标
#define GAME_BOARD_Y 20                                         // 左上角 Y 坐标
#define GAME_BOARD_GRID_COUNT_H 10                              // 横向格数
#define GAME_BOARD_GRID_COUNT_V 20                              // 纵向格数
#define GAME_BOARD_WIDTH (GRID_SIZE * GAME_BOARD_GRID_COUNT_H)  // 宽度
#define GAME_BOARD_HEIGHT (GRID_SIZE * GAME_BOARD_GRID_COUNT_V) // 高度
#define GAME_BOARD_COLOR RGB(255, 255, 255)                     // 背景色

// 预览区域
#define PREVIEW_X (GAME_BOARD_X + GAME_BOARD_WIDTH + GRID_SIZE) // 左上角 X 坐标
#define PREVIEW_Y GAME_BOARD_Y                                  // 左上角 Y 坐标
#define PREVIEW_WIDTH (GRID_SIZE * 5)                           // 宽度
#define PREVIEW_HEIGHT (GRID_SIZE * 5)                          // 高度
#define PREVIEW_COLOR RGB(255, 255, 255)                        // 背景色

// 定时器
#define TIMER_ID (WM_USER + 1)                                  // id
#define TIMER_INIT 1000                                         // 初始间隔值，单位毫秒
#define TIMER_GROW 100                                          // 增长间隔值，单位毫秒，难度每增加1级，间隔值减少此数

// 难度
#define DIFF_BASE 5000                                          // 基数。分数每达到此数的整数倍时，难度增加
#define DIFF_MAX 10                                             // 最大值。难度达到此数后不再增加

// 胜利数
#define WIN_NUMBER (DIFF_BASE * DIFF_MAX)                       // 达到此数胜利

// 事件
#define UM_DIFFICULTY_UP (WM_USER + 1)                          // 难度增加事件
#define UM_GAME_OVER (WM_USER + 2)                              // 游戏结束事件
#define UM_SCORE (WM_USER + 3)                                  // 得分事件

// 状态栏
#define STATUS_BAR_PART_COUNT 2                                 // 格数

// 字符串
#define STRING_BUF_LEN 256                                      // 缓存长度
